/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dom.command;

/**
 * A command orders a reciever
 * to execute some task, most probably
 * action()
 * @author julian.pena
 */
public interface Command extends Runnable{
    
    /**
     * through this method the command
     * orders the reciever to execute some
     * task
     */
    public void execute();
    /**
     * A command has a Status associated,
     * you can get this status through this 
     * method
     * @return Status
     */
    public Status getStatus();
    /**
     * A command has a result associated,
     * you can get this result through this 
     * method
     * @return Result
     */
    public Result getResult();
    
    public String getName();
    
}
